package com.ahy231.service;

import com.ahy231.dto.UserInfo;

import java.util.List;

/**
 * @author ahy231
 * @date 2021/7/23 14:13
 * @description
 */
public interface UserService {

    /**
     * 微信登录
     * @param encryptedData 密文
     * @param iv 偏移量
     * @param code 登录凭证
     * @return jwt token
     */
    String wxLogin(String encryptedData, String iv, String code);

    /**
     * 添加用户角色
     * @param role 角色
     */
    Boolean addRole(String role);

    /**
     * 移除用户角色
     * @param role 角色
     */
    Boolean removeRole(String role);

    /**
     * 修改用户信息
     * @param userInfo 用户信息
     */
    Boolean modifyUserInfo(UserInfo userInfo);

    /**
     * 获取用户基本信息
     * @param userId 用户id
     */
    UserInfo getUserInfo(Long userId);

    /**
     * 获取用户所有角色
     */
    List<String> getRoles();

    /**
     * 测试登录
     */
    String testLogin();
}
